const mongoose = require("mongoose");
const moment = require("moment-timezone");
// 创建学生集合规则
const userSchema = new mongoose.Schema({
    // 用户昵称
    username: {
        type: String,
        required: [true, "用户昵称不能为空"],
        minlength: 2,
        maxlength: 10,
    },
    // 用户登录密码
    password: {
        type: String,
        required: [true, "用户登录密码不能为空"],
        minlength: 6,
        maxlength: 16,
    },
    // 修改时间
    modify: {
        type: String,
        default: moment().tz("Asia/Shanghai").format("YYYY/MM/DD HH:mm:ss"),
    },
    // 手机号
    phone: {
        type: String,
        required: [true, "用户手机号不能为空"],
    },
    balance: { // 余额
        type: Number,
        required: [true, "余额不能为空"]
        // default: 1000
    },
    // 性别
    gender: {
        type: String,
    },
    // 用户真实姓名
    realName: {
        type: String,
    },
    // 用户所在班级
    class: {
        type: String,
    },
    // 用户学号
    sno: {
        type: String,
    },
    // 用户宿舍号
    dormitory: {
        type: String,
    },
    // 用户创建时间
    createTime: {
        type: String,
        default: moment().tz("Asia/Shanghai").format("YYYY/MM/DD HH:mm:ss"),
    },
    // 用户头像地址
    avatar: {
        type: String,
    },
});

// 创建学生信息集合
const User = mongoose.model("User", userSchema);

// 插入学生数据,插入数据应在路由中有一个专门的模块,详情参考blog项目
// async function createUser() {
//     //     const salt = await bcrypt.genSalt(10);
//     //     const pass = await bcrypt.hash("123456", salt);
//     const user = await User.create({
//         username: "二手书专卖",
//         password: "123456",
//         phone: "18569638345",
//     });
// }
// createUser();
// 将学生信息集合进行导出
module.exports = User; // 注意这里的写法，是用等号连接